/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.modelo.DAO;

import com.modelo.entidad.Trabajador;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;



/**
 *
 * @author Cynthia
 */
public class TrabajadorDAO {

    
    private EntityManagerFactory emf;
    
    private EntityManager  em;

    public TrabajadorDAO() {
        emf = Persistence.
             createEntityManagerFactory("Practica2PU");
        em = emf.createEntityManager();
        
    }

    public void closeEntityManager(){
        em.close();
    }

    public boolean insertarTrabajador(Trabajador t){
        boolean b = false;

        try {
            em.getTransaction().begin();
            em.persist(t);
            em.getTransaction().commit();
            b = true;
        } catch (Exception e) {
            em.getTransaction().rollback();
        }
        return b;

    }

    public Trabajador buscarTrabajador(String codigo){
        Trabajador t = em.
                find(Trabajador.class, codigo);
        return t;
    }

    public List<Trabajador> getListaTrabajadores(){
        Query q = em.
                createQuery("select t" +
                " from Trabajador t");//JPQL
        //em.createNativeQuery("select * from trabajador where id_trabajador="+codigo);
        return q.getResultList();
    }

    public boolean eliminaTrabajador(String codigo){
        boolean b = false;
        try {
            em.getTransaction().begin();
            Trabajador t = em.
                    find(Trabajador.class, codigo);
            em.remove(t);//Integer.parseInt("");
            em.getTransaction().commit();
            b = true;
        } catch (Exception e) {
            em.getTransaction().rollback();
        }
        return b;

       
    }

}
